function validarFecha(){
    var salida = $('#fecha_salida').val();
    var llegada = $('#fecha_llegada').val();
    var reserva = $('#id_reserva').val();
    var habitacion = $('#id_habitacion').val(),
            
        data = { "fecha_salida" : salida, "fecha_llegada":llegada, "habitacion":habitacion, "reserva":reserva },
        eReport = ''; //error report
         
    var variable = $.ajax({
        async : false,
        type: "POST",
        url: "http://www.baudihostal.com/index.php/creserva/validarRangoFecha",
        dataType: "json",
        data: data,
        success: function( ajaxresponse, status)
        {
            var input = document.getElementById("temporal");
            input.setAttribute("value",ajaxresponse);
           
        }
    });
}



$.validator.addMethod("validateRangoFecha", function(value, element, arg)
{
    validarFecha();
    var bandera = document.getElementById("temporal");
    var respuesta = bandera.getAttribute("value");
    var temp = new Boolean(parseInt(respuesta));
 //   alert(temp);
   
    if(temp==true)
    {    
        return true;
    }
    if(temp == false)
   {    
        return false;
    }

}, "Fecha no disponible.");

 $.validator.addMethod("valueNotEquals", function(value, element, arg){
  return arg != value;
 }, "Value must not equal arg.");


$.validator.setDefaults({
	//submitHandler: function() { alert("submitted!"); },
	showErrors: function(map, list) {
		// there's probably a way to simplify this
		var focussed = document.activeElement;
		if (focussed && $(focussed).is("input, textarea")) {
			$(this.currentForm).tooltip("close", { currentTarget: focussed }, true)
		}
		this.currentElements.removeAttr("title").removeClass("ui-state-highlight");
                $('#errores_mensajes').empty();	
		$.each(list, function(index, error) {
			//$(error.element).attr("title", error.message).addClass("ui-state-highlight");
                        $(error.element).addClass("ui-state-highlight");
                        $(error.element).attr("mensajeError",error.message);
			$("#errores_mensajes").append("<p class='er'>" + error.message + "</p> ");
		});
		if (focussed && $(focussed).is("input, textarea")) {
//			$(this.currentForm).tooltip("open", { target: focussed });
//                        $('#errores_mensajes').empty();	
//			$("#errores_mensajes").append( "<p class='er'>"+ this.currentElements.attr("mensajeError") +" </p>");
                    
		}
	}
});

(function() {
	// use custom tooltip; disable animations for now to work around lack of refresh method on tooltip
	$("#signupForm").tooltip({
		show: false,
		hide: false
	});

	// validate signup form on keyup and submit
	$("#signupForm").validate({
		rules: {                        
			nombre: "required",
                        apellido: "required",
                        documento: {
                            required:true,
                            number: true,
                        },
                        domicilio: "required",
                        localidad: "required",
                        provincia: "required",
                        pais: "required",
			fecha_nac: "required",
                        email: {
                            email: true,
                        },
                        telefono: "required",
                        fecha_llegada: {
                            required: true,
                            date:true
                        },
			fecha_salida: {
                            required: true,
                            date:true,
                            validateRangoFecha: true
                        },                        
			cant_adultos: {
				required: true,
                                number: true,
				minlength: 1
			},
                        cant_menores: {
				required: true,
                                number: true,
				minlength: 1
			},
                        sin_cargo: {
				required: true,
                                number: true,
				minlength: 1
			},
                        monto: {
				required: true,
                                number: true,
				minlength: 1
			},
                        senia: {
				required: true,
                                number: true,
				minlength: 1
			},
                        id_procedencia: {
                           valueNotEquals : "seleccione"
                       },
                       id_tipo_habitacion: {
                           valueNotEquals : "seleccione"
                       }
                      
		},
		messages: {
                        
                        
			nombre: "Por favor, ingrese el nombre.",
                        apellido: "Por favor, ingrese el apellido.",
                        documento: {
                            required: "Por favor, ingrese el documento.",
                            number: "Por favor, ingrese el formato correcto."                                    
                        },
                        domicilio: "Por favor, ingrese el domicilio.",
                        localidad:"Por favor, ingrese la localidad.",
			provincia: "Por favor, ingrese la provincia.",
                        pais: "Por favor, ingrese el pais.",
                        email: {
                            email: "Por favor, ingrese el formato correcto.",
                        },
                        telefono: "Por favor, ingrese un núnero de teléfono.",
                        fecha_llegada: {
                                required: "Por favor, ingrese la fecha de salida.",
                                date: "Ingrese una fecha valida."                                
                        },
			fecha_salida: {
                                required: "Por favor, ingrese la fecha de salida.",
                                date: "Ingrese una fecha valida.",
                                validateRangoFecha: "Rango de fecha invalido, verifique que la fecha de llegada no sea mayor a la fecha de salida."
                        },
			
			cant_adultos: {
				required: "Por favor, ingrese cantidad de adultos.",
                                number: "Por favor, ingrese valores numericos",
				minlength: "Debe ingresar al menos un digito."
			},
                        cant_menores: {
				required: "Por favor, ingrese cantidad de menores.",
                                number: "Por favor, ingrese valores numericos",
				minlength: "Debe ingresar al menos un digito."
			},
                        sin_cargo: {
				required: "Por favor, ingrese cantidad de personas sin cargo.",
                                number: "Por favor, ingrese valores numericos",
				minlength: "Debe ingresar al menos un digito."
			},
                        monto: {
				required: "Por favor, ingrese el monto de la habitacion por dia.",
                                number: "Por favor, ingrese valores numericos",
				minlength: "Debe ingresar al menos un digito."
			},
                        'id_procedencia': {valueNotEquals: "Por favor, seleccione estado."},
                        'id_tipo_habitacion': { valueNotEquals: "Por favor, seleccione un tipo de habitación." },
                        
                                
		}
	});
	//code to hide topic selection, disable for demo
	

	$("#signupForm input:not(:submit)").addClass("ui-widget-content");

	$(":submit").button();
})();


            function dateTimeDiff(fecha1, fecha2) 
            { 
                var vecFecha1, vecFecha2, diff; 

                // Si no son válidas 
                if(fecha1.length <= 0 || fecha2.length <= 0) 
                    return 0; 

                // Array con la fecha 
                vecFechaHora1 = fecha1.split(' '); 
                vecFechaHora2 = fecha2.split(' '); 

                vecFecha1 = vecFechaHora1[0].split('/'); 
                vecFecha2 = vecFechaHora2[0].split('/'); 

                if (vecFechaHora1.length > 1) 
                    vecHora1 = vecFechaHora1[1].split(':'); 
                else 
                    vecHora1 = new Array(); 

                if (vecFechaHora2.length > 1) 
                    vecHora2 = vecFechaHora2[1].split(':'); 
                else 
                    vecHora2 = new Array(); 


                if (vecFecha1.length >= 2) 
                { 
                    if (vecFecha1.length == 2) 
                        date1 = Date.UTC(vecFecha1[0], (vecFecha1[1] - 1), 1); 

                    else if (vecHora1.length == 0 &&  vecFecha1.length == 3) 
                        date1 = Date.UTC(vecFecha1[2], (vecFecha1[1] - 1), vecFecha1[0]); 

                    else if (vecHora1.length == 1 &&  vecFecha1.length == 3) 
                        date1 = Date.UTC(vecFecha1[2], (vecFecha1[1] - 1), vecFecha1[0], vecHora1[0]); 

                    else if (vecHora1.length == 2 &&  vecFecha1.length == 3) 
                        date1 = Date.UTC(vecFecha1[2], (vecFecha1[1] - 1), vecFecha1[0], vecHora1[0], vecHora1[1]); 

                    else if (vecHora1.length == 3 &&  vecFecha1.length == 3) 
                        date1 = Date.UTC(vecFecha1[2], (vecFecha1[1] - 1), vecFecha1[0], vecHora1[0], vecHora1[1], vecHora1[2]); 

                    else if (vecHora1.length == 4 &&  vecFecha1.length == 3) 
                        date1 = Date.UTC(vecFecha1[2], (vecFecha1[1] - 1), vecFecha1[0], vecHora1[0], vecHora1[1], vecHora1[2], vecHora1[3]); 

                    else 
                        return 0; 

                    //////////////////////////////////////////////////////////////////////////////////////////////////////////// 

                    if (vecFecha2.length == 2) 
                        date2 = Date.UTC(vecFecha2[0], (vecFecha2[1] - 1)); 

                    else if (vecHora2.length == 0 &&  vecFecha2.length == 3) 
                        date2 = Date.UTC(vecFecha2[2], (vecFecha2[1] - 1), vecFecha2[0]); 

                    else if (vecHora2.length == 1 &&  vecFecha2.length == 3) 
                        date2 = Date.UTC(vecFecha2[2], (vecFecha2[1] - 1), vecFecha2[0], vecHora2[0]); 

                    else if (vecHora2.length == 2 &&  vecFecha2.length == 3) 
                        date2 = Date.UTC(vecFecha2[2], (vecFecha2[1] - 1), vecFecha2[0], vecHora2[0], vecHora2[1]); 

                    else if (vecHora2.length == 3 &&  vecFecha2.length == 3) 
                        date2 = Date.UTC(vecFecha2[2], (vecFecha2[1] - 1), vecFecha2[0], vecHora2[0], vecHora2[1], vecHora2[2]); 

                    else if (vecHora2.length == 4 &&  vecFecha2.length == 3) 
                        date2 = Date.UTC(vecFecha2[2], (vecFecha2[1] - 1), vecFecha2[0], vecHora2[0], vecHora2[1], vecHora2[2], vecHora2[3]); 

                    else 
                        return 0; 
                } 
                else 
                    return 0; 


                // Los meses van del 0 al 11 en JavaScript 
                // new Date (year, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] )

                // getTime() devuelve la cantidad de milisegundos 
                // desde 1 de Enero de 1970. 
                diff = date1 - date2; 

                // 86400000 es la cantidad de milisegundos en un dia 
                if (!isNaN(diff)) 
                    return (diff/86400000 * -1); 
                else 
                    return 0; 

            }
            
            function calcularDias()
            {
                
            }